GSK: Add initial Visual Studio projects
authorChun-wei Fan <fanchunwei@src.gnome.org>
Wed, 26 Oct 2016 10:23:38 +0000 (18:23 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Wed, 26 Oct 2016 10:30:09 +0000 (18:30 +0800)
This adds the initial MSVC build items needed to build GSK under Visual Studio,
this is part of it that is required, we need to add items to the property sheets
to generate the code that is generated via glib-mkenums and glib-compile-resources.

This set includes, with the autotools scripts for the complete:
-GSK project files, which is integrated into the gtk+-4.sln.
-The NMake snippets to build the introspection files for GSK.
-The .bat files to call glib-mkenums to generate the enumeration sources.

12 files changed:
build/win32/Makefile.am
build/win32/gen-enums.batin [new file with mode: 0644]
build/win32/gtkpc.py
build/win32/vs12/Makefile.am
build/win32/vs12/gsk-4.vcxproj.filtersin [new file with mode: 0755]
build/win32/vs12/gsk-4.vcxprojin [new file with mode: 0755]
build/win32/vs12/gtk+-4.sln
build/win32/vs12/gtk-4.vcxprojin
build/win32/vs12/gtk4-install.propsin
build/win32/vs12/gtk4-install.vcxproj
build/win32/vs14/Makefile.am
gsk/Makefile.am

index 17294f5ad5a8813154887e300d2a25eecd640484..d29abdae1d6e115bcedd7977b1e1a46df59e0c42 100644 (file)
@@ -1,13 +1,20 @@
 include $(top_srcdir)/Makefile.decl
 
+GENERATED_ITEMS = gen-enums.bat
+
 if HAVE_INTROSPECTION
-GENERATED_ITEMS = \
+GENERATED_ITEMS += \
        introspection.body.mak  \
-       Gdk_4_0_gir_list                \
+       Gdk_4_0_gir_list        \
        GdkWin32_4_0_gir_list   \
+       Gsk_4_0_gir_list        \
        Gtk_4_0_gir_list
 
-MSVC_INTROSPECTION_INTERMEDIATE_FILES = Gdk-4.0.gir.msvc.introspect GdkWin32-4.0.gir.msvc.introspect Gtk-4.0.gir.msvc.introspect
+MSVC_INTROSPECTION_INTERMEDIATE_FILES =        \
+       Gdk-4.0.gir.msvc.introspect             \
+       GdkWin32-4.0.gir.msvc.introspect        \
+       Gsk-4.0.gir.msvc.introspect             \
+       Gtk-4.0.gir.msvc.introspect
 
 introspection.body.mak: $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
        -$(RM) introspection.body.mak
@@ -18,13 +25,13 @@ introspection.body.mak: $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
                esac; \
        done
        $(RM) $(MSVC_INTROSPECTION_INTERMEDIATE_FILES)
+endif
 
 DISTCLEANFILES = $(GENERATED_ITEMS)
 
-else
-GENERATED_ITEMS =
-DISTCLEANFILES =
-endif
+gen-enums.bat: $(srcdir)/gen-enums.batin gsk.enum.headers
+       $(CPP) -P - <$(srcdir)/gen-enums.batin >$@
+       $(RM) gsk.enum.headers
 
 SUBDIRS =      \
        vs12    \
@@ -37,6 +44,7 @@ EXTRA_DIST += \
        replace.py                      \
        pc_base.py                      \
        gtkpc.py                        \
+       gen-enums.batin                 \
        $(GENERATED_ITEMS)
 
 -include $(top_srcdir)/git.mk
diff --git a/build/win32/gen-enums.batin b/build/win32/gen-enums.batin
new file mode 100644 (file)
index 0000000..b4f381a
--- /dev/null
@@ -0,0 +1,16 @@
+@ECHO OFF
+
+cd ..\..\gsk
+
+if exist gskenumtypes.h del gskenumtypes.h
+if exist gskenumtypes.c del gskenumtypes.c
+
+call perl %1\bin\glib-mkenums ^
+--template gskenumtypes.h.template ^
+#include "gsk.enum.headers"
+&1> gskenumtypes.h
+
+call perl %1\bin\glib-mkenums ^
+--template gskenumtypes.c.template ^
+#include "gsk.enum.headers"
+&1> gskenumtypes.c
index 4daff56ac439747960bfd67b389494b9399aa766..c406352dacb27cdfcfc1a5560b56ad2efaf67588 100644 (file)
@@ -32,6 +32,8 @@ def main(argv):
     gdk_pixbuf_min_ver = '2.30.0'
     gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi'
     glib_min_ver = '2.45.8'
+    epoxy_min_ver = '1.0'
+    graphene_min_ver = '1.2'
 
     cairo_backends = 'cairo-win32'
     gdk_backends = 'win32'
@@ -60,6 +62,13 @@ def main(argv):
                             '@GDK_EXTRA_CFLAGS@': '',
                             'gdk-4': 'gdk-4.0'}
 
+    gsk_pc_replace_items = {'@GSK_PACKAGES@': pkg_required_packages, + ' ' + \
+                                              'graphene-1.0 >= ' + graphene_min_ver
+                            '@GSK_PRIVATE_PACKAGES@': 'epoxy >= ' + epoxy_min_ver,
+                            '@GSK_EXTRA_LIBS@': '',
+                            '@GSK_EXTRA_CFLAGS@': '',
+                            'gsk-4': 'gsk-4.0'}
+
     gtk_pc_replace_items = {'@host@': gdk_args.host,
                             '@GTK_BINARY_VERSION@': '4.0.0',
                             '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \
@@ -80,6 +89,11 @@ def main(argv):
                   base_pc.srcdir + '/gdk-4.0.pc',
                   gdk_pc_replace_items)
 
+    # Generate gsk-4.0.pc
+    replace_multi(base_pc.top_srcdir + '/gsk-4.0.pc.in',
+                  base_pc.srcdir + '/gsk-4.0.pc',
+                  gsk_pc_replace_items)
+
     # Generate gtk+-4.0.pc
     replace_multi(base_pc.top_srcdir + '/gtk+-4.0.pc.in',
                   base_pc.srcdir + '/gtk+-4.0.pc',
index 8c37a97d540230317e5bf9bd406ec44794ea3b7b..f05cc59c43dca73f1848d264abcf4b9bec933f8a 100644 (file)
@@ -9,6 +9,8 @@ GENERATED_ITEMS = \
        broadwayd.vcxproj.filters               \
        gdk-4.vcxproj                           \
        gdk-4.vcxproj.filters                   \
+       gsk-4.vcxproj                           \
+       gsk-4.vcxproj.filters                   \
        gtk-4.vcxproj                           \
        gtk-4.vcxproj.filters                   \
        gtk4-demo.vcxproj                       \
@@ -24,6 +26,7 @@ MSVC12_HEADERS_LISTS =        \
        gdk4-win32.vs12.headers         \
        gdk4-broadway.vs12.headers      \
        gdk-4.vs12.headers              \
+       gsk-4.vs12.headers              \
        gtk-4.vs12.headers
 
 EXTRA_DIST += \
@@ -39,6 +42,8 @@ EXTRA_DIST += \
        broadwayd.vcxproj.filtersin             \
        gdk-4.vcxprojin                         \
        gdk-4.vcxproj.filtersin                 \
+       gsk-4.vcxprojin                         \
+       gsk-4.vcxproj.filtersin                 \
        gtk-4.vcxprojin                         \
        gtk-4.vcxproj.filtersin                 \
        gtk-builder-tool.vcxproj                \
diff --git a/build/win32/vs12/gsk-4.vcxproj.filtersin b/build/win32/vs12/gsk-4.vcxproj.filtersin
new file mode 100755 (executable)
index 0000000..7250315
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <ItemGroup>
+   <ClCompile Include="..\..\..\gsk\gskrenderer.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskrendernode.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskrendernodeiter.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskcairorenderer.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskdebug.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskgldriver.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskglprofiler.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskglrenderer.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskprivate.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskprofiler.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskshaderbuilder.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskenumtypes.c"><Filter>Source Files</Filter></ClCompile>
+   <ClCompile Include="..\..\..\gsk\gskresources.c"><Filter>Source Files</Filter></ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs12/gsk-4.vcxprojin b/build/win32/vs12/gsk-4.vcxprojin
new file mode 100755 (executable)
index 0000000..9d18664
--- /dev/null
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}</ProjectGuid>
+    <RootNamespace>gsk4</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-gen-srcs.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\gsk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(GskDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <ItemGroup>
+   <ClCompile Include="..\..\..\gsk\gskrenderer.c" />
+   <ClCompile Include="..\..\..\gsk\gskrendernode.c" />
+   <ClCompile Include="..\..\..\gsk\gskrendernodeiter.c" />
+   <ClCompile Include="..\..\..\gsk\gskcairorenderer.c" />
+   <ClCompile Include="..\..\..\gsk\gskdebug.c" />
+   <ClCompile Include="..\..\..\gsk\gskgldriver.c" />
+   <ClCompile Include="..\..\..\gsk\gskglprofiler.c" />
+   <ClCompile Include="..\..\..\gsk\gskglrenderer.c" />
+   <ClCompile Include="..\..\..\gsk\gskprivate.c" />
+   <ClCompile Include="..\..\..\gsk\gskprofiler.c" />
+   <ClCompile Include="..\..\..\gsk\gskshaderbuilder.c" />
+   <ClCompile Include="..\..\..\gsk\gskenumtypes.c" />
+   <ClCompile Include="..\..\..\gsk\gskresources.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gdk-4.vcxproj">
+      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
index 6c18434a3abbf85314fed6eed52fb0b84f2160b9..b0684fffcad13bcaa0ace51caf1150a291e661c0 100644 (file)
@@ -10,6 +10,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broadwayd", "broadwayd.vcxp
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-4", "gdk-4.vcxproj", "{5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsk-4", "gsk-4.vcxproj", "{5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-4", "gtk-4.vcxproj", "{95A4B53D-2773-4406-A2C1-8FD2840BBAD8}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk4-demo", "gtk4-demo.vcxproj", "{BDAE6DE2-6BCC-4107-94F0-DA12214A02DE}"\r
@@ -112,6 +114,22 @@ Global
                {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}.Release_Broadway|Win32.Build.0 = Release_Broadway|Win32\r
                {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}.Release_Broadway|x64.ActiveCfg = Release_Broadway|x64\r
                {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}.Release_Broadway|x64.Build.0 = Release_Broadway|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|Win32.Build.0 = Debug|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|x64.ActiveCfg = Debug|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug|x64.Build.0 = Debug|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|Win32.ActiveCfg = Release|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|Win32.Build.0 = Release|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|x64.ActiveCfg = Release|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release|x64.Build.0 = Release|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|Win32.Build.0 = Debug|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|x64.ActiveCfg = Debug|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Debug_Broadway|x64.Build.0 = Debug|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|Win32.ActiveCfg = Release|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|Win32.Build.0 = Release|Win32\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|x64.ActiveCfg = Release|x64\r
+               {5AE8F5CE-9103-4951-AEDE-EB2F3B573BE8}.Release_Broadway|x64.Build.0 = Release|x64\r
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug|Win32.Build.0 = Debug|Win32\r
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug|x64.ActiveCfg = Debug|x64\r
index f32094e047dfe1b5199e4da6ef810bb7a8fa0e4a..3171008dd0fd57be68dc30b97a0cd19c1bad40e8 100644 (file)
       <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="gsk-4.vcxproj">
+      <Project>{5ae8f5ce-9103-4951-aede-eb2f3b573be8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
index a69fa128e5451d8d3f439feb1181767299ae22a5..ce9adb645334e157079724b4d5f646aaea240d49 100644 (file)
@@ -15,10 +15,12 @@ copy "$(BinDir)\gdk-$(ApiVersion).lib" $(CopyDir)\lib
 
 if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_BIN
 if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_BIN
+copy "$(BinDir)\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
+copy "$(BinDir)\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
+copy "$(BinDir)\gsk-$(ApiVersion).lib" $(CopyDir)\lib
 copy "$(BinDir)\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
 copy "$(BinDir)\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
 copy "$(BinDir)\gtk-$(ApiVersion).lib" $(CopyDir)\lib
-copy "$(BinDir)\gailutil-$(ApiVersion).lib" $(CopyDir)\lib
 copy "$(BinDir)\gtk4-demo.exe" $(CopyDir)\bin
 copy "$(BinDir)\gtk4-demo.pdb" $(CopyDir)\bin
 copy "$(BinDir)\gtk4-demo-application.exe" $(CopyDir)\bin
@@ -42,10 +44,12 @@ copy "$(BinDir)\broadwayd.pdb" $(CopyDir)\bin
 if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_RELEASE
 if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_DEBUG
 :DO_BROADWAY_RELEASE
+copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll $(CopyDir)\bin
+copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
+copy .\Release\$(Platform)\bin\gsk-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
-copy .\Release\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Release\$(Platform)\bin\gtk4-demo.exe $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk4-demo.pdb $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk4-demo-application.exe $(CopyDir)\bin
@@ -64,10 +68,12 @@ copy .\Release\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
 goto DONE_BIN
 
 :DO_BROADWAY_DEBUG
+copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll $(CopyDir)\bin
+copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
+copy .\Debug\$(Platform)\bin\gsk-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
-copy .\Debug\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Debug\$(Platform)\bin\gtk4-demo.exe $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk4-demo.pdb $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk4-demo-application.exe $(CopyDir)\bin
@@ -86,8 +92,8 @@ copy .\Debug\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
 :DONE_BIN
 
 copy ..\gdk-4.0.pc $(CopyDir)\lib\pkgconfig
+copy ..\gsk-4.0.pc $(CopyDir)\lib\pkgconfig
 copy "..\gtk+-4.0.pc" $(CopyDir)\lib\pkgconfig
-copy ..\gail-4.0.pc $(CopyDir)\lib\pkgconfig
     </GtkDoInstallBin>
     <GtkDoInstall>
 echo off
@@ -97,6 +103,9 @@ copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 #include "gdk-4.vs12.headers"
 #include "gdk4-win32.vs12.headers"
 
+mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gsk
+#include "gsk-4.vs12.headers"
+
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
 #include "gtk-4.vs12.headers"
@@ -133,7 +142,7 @@ $(CopyDir)\bin\gtk-update-icon-cache.exe --ignore-theme-index --force "$(CopyDir
     </GtkPostInstall>
     <GenerateGtkPC>$(PythonPath)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)</GenerateGtkPC>
     <GenerateGtkPCX64>$(PythonPathX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
-    <GtkPCFiles>..\gdk-4.0.pc;..\gtk+-4.0.pc;..\gail-4.0.pc</GtkPCFiles>
+    <GtkPCFiles>..\gdk-4.0.pc;..\gsk-4.0.pc;..\gtk+-4.0.pc</GtkPCFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk4installsprops</_PropertySheetDisplayName>
index 5c9f12d4adbd9822ce603241a43b21c2dbce2303..8676d38e9be6c6429c9310077f2cf0e8c53f2363 100644 (file)
       <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="gsk-4.vcxproj">
+      <Project>{5ae8f5ce-9103-4951-aede-eb2f3b573be8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
     <ProjectReference Include="gtk4-demo.vcxproj">
       <Project>{bdae6de2-6bcc-4107-94f0-da12214a02de}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 917d2b47267ada88a39224860b1c6c5bbeb5e278..15dd64de7c6e0d2dc2ba4eab07798a4711811afd 100644 (file)
@@ -9,6 +9,8 @@ EXTRA_DIST +=   \
        gdk4-win32.vcxproj.filters      \
        gdk-4.vcxproj   \
        gdk-4.vcxproj.filters   \
+       gsk-4.vcxproj   \
+       gsk-4.vcxproj.filters   \
        gtk-4.vcxproj   \
        gtk-4.vcxproj.filters   \
        gtk-builder-tool.vcxproj                \
index 9249d40fe4a98249942efbf97ae6deeb2b72587c..18dfca051115c075c0f657af6bc8b92a73042925 100644 (file)
@@ -1,9 +1,12 @@
 include $(top_srcdir)/Makefile.decl
 
-AM_CPPFLAGS = \
+GSK_CFLAG_DEFINES = \
        -DG_LOG_DOMAIN=\"Gsk\"                  \
        -DG_LOG_USE_STRUCTURED=1                \
-       -DGSK_COMPILATION                       \
+       -DGSK_COMPILATION
+
+AM_CPPFLAGS = \
+       $(GSK_CFLAG_DEFINES)                    \
        -I$(top_srcdir)                         \
        -I$(top_srcdir)/gdk                     \
        -I$(top_builddir)                       \
@@ -156,4 +159,59 @@ CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 
 endif
 
+# ------------------- MSVC Build Items ----------------
+MSVCPROJS = gsk-4
+
+gsk_4_FILES = $(all_sources) $(gsk_built_source_c)
+gsk_4_EXCLUDES = dummy
+gsk_4_HEADERS_DIR = $(gskincludedir)
+gsk_4_HEADERS_INST = $(gskinclude_HEADERS)
+gsk_4_HEADERS_EXCLUDES = dummy
+
+include $(top_srcdir)/build/Makefile.msvcproj
+
+$(top_builddir)/build/win32/gsk.enum.headers: Makefile $(gsk_public_source_h)
+       -$(RM) $(top_builddir)/build/win32/gsk.enum.headers
+       for F in $(gsk_public_source_h); do \
+               case $$F in \
+               *.h) \
+                       echo $$F' ^'>>$(top_builddir)/build/win32/gsk.enum.headers \
+                       ;; \
+               esac \
+       done
+
+if HAVE_INTROSPECTION
+# Introspection Items for MSVC
+MSVC_INTROSPECT_GIRS = Gsk-4.0.gir
+
+BASE_MSVC_GIR_CFLAGS =                 \
+       $(GSK_CFLAG_DEFINES)            \
+       -I../.. -I../../gdk -I.../../gsk
+
+INTROSPECTION_INTERMEDIATE_ITEMS = \
+       $(top_builddir)/build/win32/Gsk-4.0.gir.msvc.introspect \
+       $(top_builddir)/build/win32/Gsk_4_0_gir_list            \
+       $(top_builddir)/build/win32/gsk.enum.headers
+
+Gsk_4_0_gir_MSVC_FILES = $(introspection_files)
+Gsk_4_0_gir_MSVC_EXPORT_PACKAGES = $(Gsk_4_0_gir_EXPORT_PACKAGES)
+Gsk_4_0_gir_MSVC_INCLUDE_GIRS = $(Gsk_4_0_gir_INCLUDES)
+Gsk_4_0_gir_MSVC_LIBS = gdk-4.0
+Gsk_4_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
+Gsk_4_0_gir_MSVC_SCANNERFLAGS =                        \
+       --add-include-path=.                    \
+       --include-uninstalled=./Gdk-4.0.gir
+
+include $(top_srcdir)/build/Makefile.msvc-introspection
+
+else
+INTROSPECTION_INTERMEDIATE_ITEMS =
+endif
+
+dist-hook: \
+       $(top_builddir)/build/win32/vs12/gsk-4.vcxproj  \
+       $(top_builddir)/build/win32/vs12/gsk-4.vs12.headers     \
+       $(top_builddir)/build/win32/gsk.enum.headers    \
+       $(INTROSPECTION_INTERMEDIATE_ITEMS)
+
 -include $(top_srcdir)/git.mk